Load Balancing and Parallel Tree Search: The MPIDA• Algorithm

نویسندگان

  • Z. Hafidi
  • E.-G. Taibi
  • G. Goncalves
چکیده

This paper presents a parallel implementation of the Iterative-Deepening A* algorithm on a parallel distributed memory machine. Two kinds of dynamic load balancing strategies have been studied to overcome the irregular tree search problem. To study the eeectiveness of the algorithm, it has been tested to solve a NP-complete problem: the fteen puzzle. Our experimental results on a cluster of 16 ALPHA processors using PVM show that an eeciency of 97.54% for a speedup of 15.61 could be achieved on a hard problem. 1. Motivation Time complexity of tree search algorithms is considerably reduced by the use of a heuristic function that estimates the cost of reaching a solution from a given state. Many algorithms were described in the literature (A*, IDA*, Branch and bound, ...). The exponential memory requirement of A* is overcome by IDA* algorithm 1] among others (MA**2], MRECC3], PRA**4], ...). IDA* works by performing a series of iterations. In each iteration, IDA* performs a depth-rst search from the initial state while the cost of the nodes don't exceed a xed threshold. If no solution is found, IDA* increases the threshold and goes on a new iteration as described before. The total cost f of the current node is composed of the cost g of reaching the current node plus the estimated cost h of the path from the current node to a goal state. At the start point the threshold is the estimate cost of the initial state and then it increases to the minimum cost of frontier nodes in the previous iteration. Under some conditions on the heuristic function f (admis-sibility and monotonicity 1]), the solution found by IDA* is guaranteed to be optimal. Although IDA* is optimal in terms of solution cost and space over the class of admissible best rst searches, some problems still need huge computation time. This motivates the use of parallel processing. Diierent approaches can be used to parallelize tree search algorithms 5]. Our parallel implementation MPIDA*, which stands for Message Passing IDA*, uses tree decomposition: the tree search is divided into subtrees which are assigned to diierent processors and each processor performs the same search algorithm on its own subtree (SPMD model). This approach is quite simple and independant of the problem. Because subtrees associated to each processor are irregular, the speedup provided by the parallelization on its own is insuucient, so that load balancing is required to redistribute …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Hybrid Unconscious Search Algorithm for Mixed-model Assembly Line Balancing Problem with SDST, Parallel Workstation and Learning Effect

Due to the variety of products, simultaneous production of different models has an important role in production systems. Moreover, considering the realistic constraints in designing production lines attracted a lot of attentions in recent researches. Since the assembly line balancing problem is NP-hard, efficient methods are needed to solve this kind of problems. In this study, a new hybrid met...

متن کامل

An efficient load balancing strategy for grid-based branch and bound algorithm

The most popular parallelization approach of the branch and bound algorithm consists in building and exploring in parallel the search tree representing the problem being tackled. The deployment of such parallel model on a grid rises the crucial issue of dynamic load balancing. The major question is how to efficiently distribute the nodes of an irregular search tree among a large set of heteroge...

متن کامل

A Load Balancing Procedure for Parallel Constraint Programming

In this paper, we design a parallel Constraint Programming (CP) method to solve Constraint Satisfaction Problems (CSP). We use some attributes induced by the CP model of a CSP to improve the load balancing procedure embedded in the parallel treebased search algorithm. Load balancing is improved by using specialized branching heuristics and workload estimators based on the CP model. More precise...

متن کامل

UTS: An Unbalanced Tree Search Benchmark

This paper presents an unbalanced tree search (UTS) benchmark designed to evaluate the performance and ease of programming for parallel applications requiring dynamic load balancing. We describe algorithms for building a variety of unbalanced search trees to simulate different forms of load imbalance. We created versions of UTS in two parallel languages, OpenMP and Unified Parallel C (UPC), usi...

متن کامل

Parallel Global Aircraft Configuration Design Space Exploration

– The preliminary design space exploration for large, interdisciplinary engineering problems is often a difficult and time-consuming task. General techniques are needed that efficiently and methodically search the design space. This work focuses on the use of parallel load balancing techniques integrated with a global optimizer to reduce the computational time of the design space exploration. T...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995